package codeblock;

public class CodeBlockDetail03 {
    public static void main(String[] args) {
        new BBB();//匿名对象
        //1.由于子类构造器默认有super()，所以会先调用父类的构造器
        //父类构造器里也有super() 指向Object,但Object没有输出

        //(1)AAA() 构造器被调用...
        //(2) BBB 普通代码块
        //(3) BBB() 构造器被调用...
    }
}

class AAA {

//    {
//        System.out.println("AAA 普通代码块");
//    }

    public AAA () {
        //(1) super();
        //(2) 调用本类的普通代码块，但本类没有普通代码块
        //(3) 调用构造器
        System.out.println("AAA() 构造器被调用...");
    }

}

class BBB extends AAA{

    {
        //(2) 调用本类的普通代码块
        System.out.println("BBB 普通代码块");
    }

    public BBB () {
        //(1) super();
        //(2) 调用本类的普通代码块
        //(3) 调用构造器
        System.out.println("BBB() 构造器被调用...");
    }
}